<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>02_CSS选择器</title>
  <style>
    /* 1.标签名选择器:选中指定标签名的这类元素 */
    h4 {
      color: red;
    }
    /* 2.id选择器:选中指定id属性值的元素 */
    #d1 {
      color: blue; /*文字颜色*/
      width: 100px; /*宽度*/
      height: 100px; /*高度*/
      background-color: pink; /*背景颜色*/
      border: 5px solid purple; /*边框:宽度 样式 颜色*/
    }
    /* 3.类选择器:选中指定class属性值的元素 */
    .error {
      background-color: red;
    }
    .success {
      background-color: green;
    }
    .msg {
      color: white;
    }
    /* 4.伪类选择器:选中元素的某种状态 */
    /* 5.并列选择器:两种选择器紧挨在一起的写法,必须两个选择器条件都满足,才会生效,是"与"的关系 */
    a:link { /* 选中超链接未被访问时的状态 */
      color: gray;
    }
    a:visited {/* 选中超链接已被访问时的状态 */
      color: green;
    }
    a:hover {/* 选中元素鼠标悬停时的状态 */
      color: orange;
    }
    a:active {/* 选中超链接被激活(点击)时的状态 */
      color: red;
    }
    #d1:hover {
      background-color: lightseagreen;
    }
    /*8.后代选择器（空格）：选中指定元素的所有后代元素*/
    #d2 span {
      background-color: yellow;
    }
    /*9.子代选择器（>）：选中指定元素下的指定子元素*/
    #d2>div>p>span {
      color: red;
    }
  </style>
</head>
<body>
<div id="d1">我是div</div>
<div>我是div</div>
<p>我是段落</p>
<h4>我是标题</h4>
<h4>我是标题</h4>
<hr>
<span class="error msg">用户名已被占用</span>
<span class="error msg">两次密码不一致</span>
<span class="error msg">手机号格式不正确</span>
<br>
<span class="success msg">有效的邮箱</span>
<span class="success msg">用户名可以使用</span>
<span class="success msg">有效的年龄</span>
<hr>
<a href="https://www.baidu.com">超链接1</a>
<a href="abc">超链接2</a>
<hr>
<div id="d2">
  <span>111</span>
  <div>
    <span>222</span>
    <p>测试文字</p>
    <p>测试<span>333</span>文字</p>
  </div>
  <span>444</span>
</div>

</body>
</html>
